export default {
    // 下载 Excel 方法
    excel(data, fileName) {
        this.download(data, fileName, 'application/vnd.ms-excel')
    },

    // 下载 Word 方法
    word(data, fileName) {
        this.download(data, fileName, 'application/msword')
    },

    // 下载 Zip 方法
    zip(data, fileName) {
        this.download(data, fileName, 'application/zip')
    },

    // 下载 Html 方法
    html(data, fileName) {
        this.download(data, fileName, 'text/html')
    },
    tif(data, fileName) {
        this.download(data, fileName, 'image/tiff')
    },

    // 下载 Markdown 方法
    markdown(data, fileName) {
        this.download(data, fileName, 'text/markdown')
    },

    // 下载 pdf 方法
    pdf(data, fileName) {
        console.log('data', data)
        console.log('fileName', fileName)
        this.download(data, fileName, 'application/pdf')
    },

    // 下载 图片方法
    png(data, fileName) {
        this.download(data, fileName, 'application/png')
    },

    // 兼容写法
    stream(data, fileName) {
        this.download(data, fileName, 'application/octet-stream')
    },

    download(data, fileName, mineType) {
        // 创建 blob对象
        let blob = new Blob([data], { type: mineType })
        // 浏览器api 有的不支持-二种都写
        window.URL = window.URL || window.webkitURL
        // 获取链接地址-(内容赋值到临时链接)
        let href = URL.createObjectURL(blob)
        // 创建a标签
        let downA = document.createElement('a')
        // 把链接赋值给a标签
        downA.href = href
        // 赋值文件名称
        downA.download = fileName
        // 点击下载
        downA.click()
        // 销毁超连接
        window.URL.revokeObjectURL(href)
    },
}
